package org.edu.modules.sbzc.fund.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.edu.common.base.BaseEntity;
import java.math.BigDecimal;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;
import java.util.Date;

/**
 * entity-设备资产表
 */
@TableName("ve_sbzc_zc_asset")
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="设备资产表对象", description="ve_sbzc_zc_asset")
public class VeSbzcZcAsset extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableField
    @ApiModelProperty(value = "资产编号")
    @Length(max = 30)
    private String code;

    @TableField
    @ApiModelProperty(value = "资产名称")
    @Length(max = 200)
    private String name;

    @TableField
    @ApiModelProperty(value = "资产批次")
    @Length(max = 20)
    private String zcpc;

    @TableField
    @ApiModelProperty(value = "规格型号")
    @Length(max = 20)
    private String model;

    @TableField
    @ApiModelProperty(value = "单位")
    @Length(max = 10)
    private String unit;

    @TableField
    @ApiModelProperty(value = "单价")
    private BigDecimal price;

    @TableField
    @ApiModelProperty(value = "数量")
    private Integer count;

    @TableField
    @ApiModelProperty(value = "金额（数量和单价自动生成）")
    @Length(max = 20)
    private String totalPrice;

    @TableField
    @ApiModelProperty(value = "所属部门")
    private String deptOwn;

    @TableField
    @ApiModelProperty(value = "验收部门")
    private String deptCheck;

    @TableField
    @ApiModelProperty(value = "使用部门")
    private String deptUse;

    @TableField
    @ApiModelProperty(value = "使用人员")
    private String userId;

    @TableField
    @ApiModelProperty(value = "使用人员")
    private String userName;

    @TableField
    @ApiModelProperty(value = "仓库管理员")
    private String ckUserId;

    @TableField
    @ApiModelProperty(value = "仓库管理员姓名")
    private String ckUserName;

    @TableField
    @ApiModelProperty(value = "购买日期")
    private String buyDate;

    @TableField
    @ApiModelProperty(value = "发票编号")
    @Length(max = 60)
    private String fpNo;

    @TableField
    @ApiModelProperty(value = "凭证号码")
    @Length(max = 60)
    private String pzNo;

    @TableField
    @ApiModelProperty(value = "资产分类")
    private Integer cateId;

    @TableField
    @ApiModelProperty(value = "存放地点")
    @Length(max = 60)
    private String location;

    @TableField
    @ApiModelProperty(value = "备注")
    @Length(max = 500)
    private String remark;

    @TableField
    @ApiModelProperty(value = "使用方向")
    @Length(max = 100)
    private String usedFor;

    @TableField
    @ApiModelProperty(value = "供应商")
    @Length(max = 100)
    private String vendor;

    @TableField
    @ApiModelProperty(value = "责任人")
    private String responseUserId;

    @TableField
    @ApiModelProperty(value = "责任人姓名")
    private String responseUserName;

    @TableField
    @ApiModelProperty(value = "启用日期")
    private Integer enableDate;

    @TableField
    @ApiModelProperty(value = "附件")
    private Integer attachmentId;

    @TableField
    @ApiModelProperty(value = "状态（未分配unallocated，被借领apply，维修maintain，报废discard）")
    @Length(max = 15)
    private String status;

    @TableField
    @ApiModelProperty(value = "删除标识0未删除，1删除")
    private Integer isDelete;
}
